home *** CD-ROM | disk | FTP | other *** search
/ Windows Game Programming for Dummies (2nd Edition) / WinGamProgFD.iso / pc / DirectX SDK / DXSDK / samples / Multimedia / DirectInput / DIConfig / cfguitrace.h < prev    next >
Encoding:
C/C++ Source or Header  |  2001-10-08  |  4.4 KB  |  128 lines

  1. //-----------------------------------------------------------------------------
  2. // File: cfguitrace.h
  3. //
  4. // Desc: Contains all trace functionalities used by the UI.
  5. //       Define __CFGUI_TRACE__TO_FILE to have output written to a file.
  6. //       Define __CFGUI_TRACE__TO_DEBUG_OUT to direct output to a debugger.
  7. //       These two symbols can coexist, and are defined in defines.h.
  8. //
  9. // Copyright (C) 1999-2001 Microsoft Corporation. All Rights Reserved.
  10. //-----------------------------------------------------------------------------
  11.  
  12. #ifndef __CFGUI_TRACE_H__
  13. #define __CFGUI_TRACE_H__
  14.  
  15.  
  16. #ifdef UNICODE
  17. #define _tfWSTR _T("%s")
  18. #define _tfSTR _T("%S")
  19. #else
  20. #define _tfWSTR _T("%S")
  21. #define _tfSTR _T("%s")
  22. #endif
  23.  
  24.  
  25. enum __cfgui_tracetype {
  26.     __cfgui_tracetype_ERROR,
  27.     __cfgui_tracetype_INFO,
  28. };
  29.  
  30.  
  31. #ifdef NTRACE
  32.  
  33. #define tracescope(t,s) (void(0))
  34.  
  35. #define etrace(a) (void(0))
  36. #define etrace1(a,b) (void(0))
  37. #define etrace2(a,b,c) (void(0))
  38. #define etrace3(a,b,c,d) (void(0))
  39. #define etrace4(a,b,c,d,e) (void(0))
  40. #define etrace5(a,b,c,d,e,f) (void(0))
  41. #define etrace6(a,b,c,d,e,f,g) (void(0))
  42. #define etrace7(a,b,c,d,e,f,g,h) (void(0))
  43. #define trace(a) (void(0))
  44. #define trace1(a,b) (void(0))
  45. #define trace2(a,b,c) (void(0))
  46. #define trace3(a,b,c,d) (void(0))
  47. #define trace4(a,b,c,d,e) (void(0))
  48. #define trace5(a,b,c,d,e,f) (void(0))
  49. #define trace6(a,b,c,d,e,f,g) (void(0))
  50. #define trace7(a,b,c,d,e,f,g,h) (void(0))
  51.  
  52. #define traceDWORD(v) (void(0))
  53. #define traceUINT(v) (void(0))
  54. #define traceLONG(v) (void(0))
  55. #define traceHEX(v) (void(0))
  56. #define traceHEXPTR(v) (void(0))
  57. #define traceWSTR(v) (void(0))
  58. #define traceSTR(v) (void(0))
  59. #define traceTSTR(v) (void(0))
  60. #define traceGUID(v) (void(0))
  61. #define traceBOOL(v) (void(0))
  62. #define tracePOINT(v) (void(0))
  63. #define traceSIZE(v) (void(0))
  64. #define traceRECT(v) (void(0))
  65. #define traceRECTDIM(v) (void(0))
  66. #define traceSUPERSTR(v) (void(0))
  67.  
  68. #else
  69.  
  70. void __cfgui_trace(__cfgui_tracetype, LPCTSTR, ...);
  71.  
  72. class __cfgui_out_filescope
  73. {
  74. friend class __cfgui_tracescope;
  75.     __cfgui_out_filescope(bool bInternal = false);
  76.     ~__cfgui_out_filescope();
  77. friend void __cfgui_trace(__cfgui_tracetype, LPCTSTR, ...);
  78.     bool m_bInternal;
  79. };
  80.  
  81. class __cfgui_tracescope
  82. {
  83.     __cfgui_out_filescope fs;
  84. public:
  85.     __cfgui_tracescope(LPCTSTR);
  86.     ~__cfgui_tracescope();
  87. };
  88.  
  89. #define tracescope(t,s) __cfgui_tracescope t(s)
  90.  
  91. #define etrace(a) __cfgui_trace(__cfgui_tracetype_ERROR, a)
  92. #define etrace1(a,b) __cfgui_trace(__cfgui_tracetype_ERROR, a,b)
  93. #define etrace2(a,b,c) __cfgui_trace(__cfgui_tracetype_ERROR, a,b,c)
  94. #define etrace3(a,b,c,d) __cfgui_trace(__cfgui_tracetype_ERROR, a,b,c,d)
  95. #define etrace4(a,b,c,d,e) __cfgui_trace(__cfgui_tracetype_ERROR, a,b,c,d,e)
  96. #define etrace5(a,b,c,d,e,f) __cfgui_trace(__cfgui_tracetype_ERROR, a,b,c,d,e,f)
  97. #define etrace6(a,b,c,d,e,f,g) __cfgui_trace(__cfgui_tracetype_ERROR, a,b,c,d,e,f,g)
  98. #define etrace7(a,b,c,d,e,f,g,h) __cfgui_trace(__cfgui_tracetype_ERROR, a,b,c,d,e,f,g,h)
  99. #define trace(a) __cfgui_trace(__cfgui_tracetype_INFO, a)
  100. #define trace1(a,b) __cfgui_trace(__cfgui_tracetype_INFO, a,b)
  101. #define trace2(a,b,c) __cfgui_trace(__cfgui_tracetype_INFO, a,b,c)
  102. #define trace3(a,b,c,d) __cfgui_trace(__cfgui_tracetype_INFO, a,b,c,d)
  103. #define trace4(a,b,c,d,e) __cfgui_trace(__cfgui_tracetype_INFO, a,b,c,d,e)
  104. #define trace5(a,b,c,d,e,f) __cfgui_trace(__cfgui_tracetype_INFO, a,b,c,d,e,f)
  105. #define trace6(a,b,c,d,e,f,g) __cfgui_trace(__cfgui_tracetype_INFO, a,b,c,d,e,f,g)
  106. #define trace7(a,b,c,d,e,f,g,h) __cfgui_trace(__cfgui_tracetype_INFO, a,b,c,d,e,f,g,h)
  107.  
  108. #define traceDWORD(v) trace1(_T(#v) _T(" = %u\n"), v)
  109. #define traceUINT(v) trace1(_T(#v) _T(" = %u\n"), v)
  110. #define traceLONG(v) trace1(_T(#v) _T(" = %d\n"), v)
  111. #define traceHEX(v) trace1(_T(#v) _T(" = 0x%08x\n"), v)
  112. #define traceHEXPTR(v) trace1(_T(#v) _T(" = 0x%p\n"), v)
  113. #define traceWSTR(v) traceTSTR(v)
  114. #define traceSTR(v) traceTSTR(v)
  115. #define traceTSTR(v) trace1(_T(#v) _T(" = %s\n"), QSAFESTR(v))
  116. #define traceGUID(v) trace1(_T(#v) _T(" = %s\n"), GUIDSTR(v))
  117. #define traceBOOL(v) trace1(_T(#v) _T(" = %s\n"), BOOLSTR(v))
  118. #define tracePOINT(v) trace1(_T(#v) _T(" = %s\n"), POINTSTR(v))
  119. #define traceSIZE(v) trace1(_T(#v) _T(" = %s\n"), SIZESTR(v))
  120. #define traceRECT(v) trace1(_T(#v) _T(" = %s\n"), RECTSTR(v))
  121. #define traceRECTDIM(v) trace1(_T(#v) _T(" = %s\n"), RECTDIMSTR(v))
  122. #define traceSUPERSTR(v) trace1(_T(#v) _T(" = %s\n"), SUPERSTR(v))
  123.  
  124.  
  125. #endif
  126.  
  127. #endif //__CFGUI_TRACE_H__
  128.